In complicated asynchronous messaging networks configurations or modification could cause unwanted and harmful message loops. For example, a message originating at node A could be routed to: node A→node B→node C→node A→ . . . forever
This problem is particularly likely and severe with publish-subscribe messaging. Not only can a publication circulate forever, but each time around the loop it will copy itself to subscribing consumers. A number of factors make publish-subscribe loops complex to detect reliably: a) The links of a publish-subscribe network can be topic-specific, that is, a link might carry only messages with topics conforming to administratively-configured topic patterns; b) The links of a publish-subscribe network can be asymmetric; c) A publish-subscribe network can span multiple administrative domains and multiple different publish-subscribe implementations so that an administrator might not actually have the information they need for deciding if the new link will create a looped path; d) It may be essential to configure a publish-subscribe network link such that no permanent loop exists, but some messages can arrive more than once at the same node (FIG. 1: message propagates to node A and C, once link 100 is deleted and link 200 is created, message propagates from node B to C) or a node is temporarily isolated (FIG. 1: as link 100 is deleted, node B is temporarily isolated until link 200 is created).
A number of techniques and technologies have been used for detecting whether or not adding a link will create a looped path, such as: a) Static analysis of the topology of the entire publish-subscribe network at the time a new link is being added which is a manual process and requires complex logic to identify and check the different paths that will be taken by messages with all possible different topics and cannot reliably identify and prevent the kind of “bogus loop” illustrated in FIG. 1; b) Transmit specialized or “probe” messages at the time a new link is being added. These messages are not delivered to normal users and require complex logic to construct and route so that they traverse all possible paths.